﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using SharedGenomics.Core;

namespace SharedGenomics.Workbench.Core
{
    public interface IBackgroundExecutor
    {
        void Execute(ICommand command);
        void Execute(ICommand command, Action<BackgroundOperationResult> callback);
        void Execute(Action command);
        void Execute(Action command, Action<BackgroundOperationResult> callback);
        void Execute<T>(Func<T> command, Action<BackgroundOperationResult<T>> callback);
    }
}
